A constraint programming approach to subgraph isomorphism
نویسنده
چکیده
ions for sets. Filtering and propagators A simple algorithm exists to find a solution to a CSP. A straightforward idea is to enumerate all assignments of the variables with respect to their domains, and check if the constraints are satisfied. This strategy is correct, but the time to find a solution is exponential. Individual constraints can be used to remove values. Values in the domain of a CSP may violate some constraints of the CSP. Filtering removes values in the domain of D that have no support in a constraint c. A value d in D(x) has a support in c with respect to D if there exists an assignment A of the variables in D with x = d and A ⊆ c. The value d is also said to be consistent with the constraint c. A propagator is the implementation of a constraint that performs filtering. A propagator takes a domain D as input and returns a new domain where inconsistent values with respect to c are removed. Comparing the output of a propagator with its constraint calls for notations. A constraint c is a set of tuples indexed by variables, and can be viewed as a domain of a CSP. Set operations can be extended to domains of CSPs. Given a set operation ⋄, D1⋄D2 means D1(xi)⋄D2(xi) for all xi ∈ X. With these notations, properties of a propagator can be stated. Let D1 and D2 be two finite domains defined on the same set of vars. A propagator pc implementing a constraint c must respect the following conditions : • contractant: pc(D1) ⊆ D1 • monotone: D1 ⊆ D2 ⇒ pc(D1) ⊆ pc(D2) • correct: Sol(X,D, {c}) ⊆ Sol(X, pc(D), {c}) Successive applications of a propagator may narrow domains, that is p(p(D)) ⊆ p(D). A propagator p is said to be idempotent if p(p(D)) = p(D). This is important in the filtering process, as idempotent propagators need to be applied only once. Levels of consistency Propagators should remove inconsistent values with respect to a constraint. Doing so can however be NP-Complete. Moreover a polynomial optimal filtering algorithm is not always useful. This is the case, for example, when the density of solutions is high. 22 State of the Art of Exact Subgraph Isomorphism Removing values may be expensive, while enumeration leads quickly to a solution. This motivates the introduction of levels of consistency. The filtering performed by a propagator p for a constraint c may vary. We enumerate here a number of definitions of consistency, from the cheaper to the more expensive in time complexity, but with increasing filtering power. • checking: a propagator p is checking for a constraint c if (∀ x ∈ scope(c) : |D(x)| = 1) ⇒ ×xi∈XD(xi) ⊆ c. Intuitively, the propagator waits for the instantiation of all the variables in its scope, and check if the constraint c is verified for this assignment. • forward checking: a propagator is forward checking for a constraint c if all variables in scope(c) are instantiated but the variable xi and ∀ vi ∈ D(xi) : (v1, . . . , vi−1, vi, vi+1, . . . , vk) ∈ c. • (hyper) arc consistency: A propagator is hyper arc consistent with respect to a constraint c with scope(c) = x1, . . . , xk if ∀ 1 ≤ i ≤ k : ∀ vi ∈ Di, ∃ v1, . . . , vi−1, vi+1, . . . , vk ∈ D1 × · · · × Dk such that (v1, . . . , vk) ∈ c. For a binary constraint, it is called arc consistency, and for a unary constraint, node consistency. • (hyper) bound consistency: The idea behind bound consistency is to consider the bounds of the domains. In total ordered finite domains, there exits a minD(x) and a maxD(x) elements, and we may prune only on those bounds. This idea leads to several definitions of bound consistency. – bound consistency: A propagator is bound consistent with respect to a constraint c with scope(c) = x1, . . . , xk if ∀ 1 ≤ i ≤ k : ∃ v1, . . . , vi−1, vi+1, . . . , vk ∈ [minD1, maxD1] × · · · × [minDk, maxDk] such that (v1, . . . , vi−1, minDi, vi+1, . . . , vk) ∈ c and (v1, . . . , vi−1, maxDi, vi+1, . . . , vk) ∈ c. – range bound consistency: A propagator is range bound consistent with respect to a constraint c with scope(c) = x1, . . . , xk if ∀ 1 ≤ i ≤ k ∀ vi ∈ [minDi, maxDi] ∃ v1, . . . , vi−1, vi+1, . . . , vk ∈ [minD1, maxD1] × · · · × [minDk, maxDk] such that (v1, . . . , vi−1, vi, vi+1, . . . , vk) ∈ c. – domain bound consistent: A propagator is domain bound consistent with respect to a constraint c with scope(c) =
منابع مشابه
Decomposition Techniques for Subgraph Matching
In the constraint programming framework, state-of-the-art static and dynamic decomposition techniques are hard to apply to problems with complete initial constraint graphs. For such problems, we propose a hybrid approach of these techniques in the presence of global constraints. In particular, we solve the subgraph isomorphism problem. Further we design specific heuristics for this hard problem...
متن کاملFinite Energy Survey Propagation for Constraint Satisfaction Problems
The Survey Propagation (SP) algorithm [1] has recently been shown to work well in the hard region for random K-SAT problems. SP has its origins in sophisticated arguments in statistical physics, and can be derived from an approach known as the cavity method, when applied at what is called the one-step replica symmetry breaking level. In its most general form, SP can be applied to general constr...
متن کاملWhen Subgraph Isomorphism is Really Hard, and Why This Matters for Graph Databases
The subgraph isomorphism problem involves deciding whether a copy of a pattern graph occurs inside a larger target graph. The non-induced version allows extra edges in the target, whilst the induced version does not. Although both variants are NP-complete, algorithms inspired by constraint programming can operate comfortably on many real-world problem instances with thousands of vertices. Howev...
متن کاملDeclarative Approximate Graph Matching Using A Constraint Approach
Graph pattern matching is a central application in many fields. However, in many cases, the structure of the pattern can only be approximated and exact matching is then far too accurate. This work aims at proposing a CSP approach for approximate subgraph matching where the potential approximation is declaratively included in the pattern graph as optional nodes and forbidden edges. The model, co...
متن کاملA Convex Relaxation Bound for Subgraph Isomorphism
In this work a convex relaxation of a subgraph isomorphism problem is proposed, which leads to a new lower bound that can provide a proof that a subgraph isomorphism between two graphs can not be found. The bound is based on a semidefinite programming relaxation of a combinatorial optimisation formulation for subgraph isomorphism and is explained in detail. We consider subgraph isomorphism prob...
متن کامل2 00 4 Isomorphic Implication ∗
We study the isomorphic implication problem for Boolean constraints. We show that this is a natural analog of the subgraph isomorphism problem. We prove that, depending on the set of constraints, this problem is in P, NP-complete, or NP-hard, coNP-hard, and in P || . We show how to extend the NP-hardness and coNP-hardness to P || -hardness for some cases, and conjecture that this can be done in...
متن کامل